package com.dinglian.ots.service;

import com.dinglian.ots.dao.model.Store;
import com.dinglian.ots.vo.brand.BrandRankVo;
import com.dinglian.ots.vo.buyer.ExaminationBuyerVo;
import com.dinglian.ots.vo.product.ProductRankVo;
import com.github.pagehelper.PageInfo;

/**
 * @author wangbo
 */
public interface AdminService {
    /**
     * 分页查询买手审核列表
     * @param name
     * @param phone
     * @param status
     * @param startTime
     * @param endTime
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<ExaminationBuyerVo> getBuyerExaminationList(String name, String phone, Integer status, String startTime, String endTime, Integer pageNum, Integer pageSize);

    /**
     * 审核买手
     * @param buyerId
     * @param status
     */
    void examineBuyer(Integer buyerId, Integer status);

    /**
     * 获取买手信息
     * @param buyerId
     * @return
     */
    Store getBuyerInfo(Integer buyerId);

    /**
     * 批量操作
     * @param ids
     * @param status
     */
    void batchExamineBuyer(Integer[] ids, Integer status);


    /**
     * 分页获取品牌排行
     * @param name
     * @param phone
     * @param isRecommend
     * @param startTime
     * @param endTime
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<BrandRankVo> getBrandRankList(String name, String phone,Integer isRecommend, String startTime, String endTime, Integer pageNum, Integer pageSize);

    /**
     * 推荐品牌
     * @param id
     * @param isRecommend
     */
    void recommendBrand(Integer id, Boolean isRecommend);

    /**
     * 更改品牌排序
     * @param id
     * @param sort
     */
    void editBrandSort(Integer id, Integer sort);

    /**
     * 批量推荐
     * @param ids
     * @param isRecommend
     */
    void batchRecommend(Integer[] ids, Boolean isRecommend);

    /**
     * 获取产品排行列表
     * @param brandName
     * @param title
     * @param styleName
     * @param isRecommend
     * @param startTime
     * @param endTime
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<ProductRankVo> getProductRankList(String brandName, String title, String styleName, Integer isRecommend, String startTime, String endTime, Integer pageNum, Integer pageSize);

    /**
     * 推荐产品
     * @param id
     * @param isRecommend
     */
    void recommendProduct(Integer id, Boolean isRecommend);

    /**
     * 产品排序
     * @param id
     * @param sort
     */
    void editProductSort(Integer id, Integer sort);

    /**
     * 批量推荐
     * @param ids
     * @param isRecommend
     */
    void batchRecommendProduct(Integer[] ids, Boolean isRecommend);

    /**
     * 批量发布
     * @param ids
     * @param isShow
     */
    void batchShowBrand(Integer[] ids, Boolean isShow);

    /**
     * 设置TOP品牌排行
     * @param name
     * @param phone
     * @param isRecommend
     * @param startTime
     * @param endTime
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<BrandRankVo> getTopBrandRankList(String name, String phone, Integer isRecommend, String startTime, String endTime, Integer pageNum, Integer pageSize);

    /**
     * 设置top品牌排序
     * @param id
     * @param sort
     */
    void editTopBrandSort(Integer id, Integer sort);
}
